package com.office.meeting.invited.circumstance.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.office.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.office.common.annotation.Excel;

/**
 * 会议对象 conference_invitation
 * 
 * @author 柒月
 * @date 2025-05-23
 */
public class Codition extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 会议发起人的id */
    private Long inviterId;

    /** 邀请用户的id */
    private Long userId;

    /** 会议名称 */
    @Excel(name = "会议名称")
    private String meetingName;

    /** 前端的开始时间*/
    private Date beginScheduleTime;

    /** 前端的结束时间*/
    private Date endScheduleTime;

    /** 会议开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "会议开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 会议密码 */
    @Excel(name = "会议密码")
    private String password;

    /** 主键 */
    private Long id;

    /** 邀请状态默认为 3 (0 表示已同意 1 表示已经拒绝 3 表示没有操作) */
    private Long state;

    @Excel(name = "会议结束时间" ,width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 拒绝会议后的理由 */
    private String reason;

    /** 会议发起的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "会议发起的时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date meetingLaunchDate;

    @Excel(name = "邀请人数")
    private Long totalInvites;

    @Excel(name = "拒绝人数")
    private Long rejectedCount;

    @Excel(name = "签到人数")
    private Long attendedCount;

    /** 是否签到（0=没有，1=签到了） */
    private Long isAttendance;

    /** 签到的时间 */
    private Date attendanceTime;

    public void setInviterId(Long inviterId) 
    {
        this.inviterId = inviterId;
    }

    public Long getInviterId() 
    {
        return inviterId;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setMeetingName(String meetingName) 
    {
        this.meetingName = meetingName;
    }

    public String getMeetingName() 
    {
        return meetingName;
    }

    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }

    public void setPassword(String password) 
    {
        this.password = password;
    }

    public String getPassword() 
    {
        return password;
    }

    public Long getAttendedCount() {
        return attendedCount;
    }

    public void setAttendedCount(Long attendedCount) {
        this.attendedCount = attendedCount;
    }

    public Long getRejectedCount() {
        return rejectedCount;
    }

    public void setRejectedCount(Long rejectedCount) {
        this.rejectedCount = rejectedCount;
    }

    public Long getTotalInvites() {
        return totalInvites;
    }

    public void setTotalInvites(Long totalInvites) {
        this.totalInvites = totalInvites;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setState(Long state) 
    {
        this.state = state;
    }

    public Long getState() 
    {
        return state;
    }

    public void setReason(String reason) 
    {
        this.reason = reason;
    }

    public String getReason() 
    {
        return reason;
    }

    public void setMeetingLaunchDate(Date meetingLaunchDate) 
    {
        this.meetingLaunchDate = meetingLaunchDate;
    }

    public Date getMeetingLaunchDate() 
    {
        return meetingLaunchDate;
    }

    public void setIsAttendance(Long isAttendance) 
    {
        this.isAttendance = isAttendance;
    }

    public Long getIsAttendance() 
    {
        return isAttendance;
    }

    public void setAttendanceTime(Date attendanceTime) 
    {
        this.attendanceTime = attendanceTime;
    }

    public Date getAttendanceTime() 
    {
        return attendanceTime;
    }

    public Date getBeginScheduleTime() {
        return beginScheduleTime;
    }

    public void setBeginScheduleTime(Date beginScheduleTime) {
        this.beginScheduleTime = beginScheduleTime;
    }

    public Date getEndScheduleTime() {
        return endScheduleTime;
    }

    public void setEndScheduleTime(Date endScheduleTime) {
        this.endScheduleTime = endScheduleTime;
    }
}
